#ifndef PUBLICSTRUCT_H
#define PUBLICSTRUCT_H

#include "precomp.h"

//#include <QString>
//#include <QDate>

struct DataDict {
    QString dd_key;
    QString dd_values;
    QString dd_type;
    QString dd_desc;
};
struct ProgressData {
    int totalNum;
    int sendedNum;
    int recvedNum;
    int writedNum;
};
struct ProxyServerData {
    QString proxyaddr;
    QString serveraddr;
    QString port;
    QString proxytype;
    QString statusStr;
    int isvalidity;
    QString updatedatetime;
    QString testproxydest;
};

struct KeyValue{
    QString key;
    QString value;
};

struct DomainQryAddrInfo
{
    QString domainSuffix;
    QString qryAddress;
    QString port;
    QString dntype;
    QString requestParam;
};

struct SocketDnInfo
{
    int Id;
    QString domain;
    QString msg;
    QString suffix;
    QString address;
    QString port;
    QString reqParam;
};

struct DomainDetailInfo {
    int domainId;
//    QMap<QString,QString> domainRegistry;
//    QMap<QString,QString> domainAdmin;
//    QMap<QString,QString> domainTech;
    QList<KeyValue> domainRegistry;
    QList<KeyValue> domainAdmin;
    QList<KeyValue> domainTech;
    QList<KeyValue> domainBill;
    QVector<QString> domainStatus;
    QVector<QString> domainNameServer;
};

struct DomainInfo {
    int Id;
    int CategoryId;
    QString Domain;
    QString Suffix;
    QString RegistStatus;
    QString RegistryDomainID;
    QString RegistrarWHOISServer;
    QString RegistrarURL;
    QString UpdatedDate;
    QString CreationDate;
    QString RegistryExpiryDate;
    QString Registrar;
    QString RegistrarIANAID;
    QString RegistrarEmail;
    QString RegistrarPhone;
    QString RegistryRegistrantID;
    QString RegistrantName;
    QString RegistrantOrganization;
    QString RegistrantStreet;
    QString RegistrantCity;
    QString RegistrantStateProvince;
    QString RegistrantPostalCode;
    QString RegistrantCountry;
    QString RegistrantPhone;
    QString RegistrantFax;
    QString RegistrantEmail;
    QString NameServer;
    QString DomainStatus;
    QString DNSSEC;
    QString LastQryDate;
};

struct DomainAllInfo {
    int id;
    QString DomainId;
    QString DomainName;
    QString DomainSuffix;
    QString RegistryDomainID;
    QString RegistrarWHOISServer;
    QString RegistrarURL;
    QString UpdatedDate;
    QString CreationDate;
    QString RegistryExpiryDate;
    QString Registrar;
    QString RegistrarIANAID;
    QString RegistrarEmail;
    QString RegistrarPhone;
    QString NameServer;
    QString DomainStatus;
    QString RegistrantID;
    QString RegistrantName;
    QString RegistrantOrganization;
    QString RegistrantStreet;
    QString RegistrantCity;
    QString RegistrantStateProvince;
    QString RegistrantPostalCode;
    QString RegistrantCountry;
    QString RegistrantPhone;
    QString RegistrantFax;
    QString RegistrantEmail;
    QString AdminID;
    QString AdminName;
    QString AdminOrganization;
    QString AdminStreet;
    QString AdminCity;
    QString AdminStateProvince;
    QString AdminPostalCode;
    QString AdminCountry;
    QString AdminPhone;
    QString AdminFax;
    QString AdminEmail;
    QString TechID;
    QString TechName;
    QString TechOrganization;
    QString TechStreet;
    QString TechCity;
    QString TechStateProvince;
    QString TechPostalCode;
    QString TechCountry;
    QString TechPhone;
    QString TechFax;
    QString TechEmail;
    QString BillingID;
    QString BillingName;
    QString BillingOrganization;
    QString BillingStreet;
    QString BillingCity;
    QString BillingStateProvince;
    QString BillingPostalCode;
    QString BillingCountry;
    QString BillingPhone;
    QString BillingFax;
    QString BillingEmail;
    QString DNSSEC;
};

struct DnSummaryInfo {
    bool ifChecked;
    int id;
    int categoryId;
    QString domain;
    QString suffix;
    QString registStatus;
    QString registrar;
    QString creationDate;
    QString expiryDate;
    QString updatedDate;
    QString nameServer;
    QString registrant;
    QString registrantOrg;
    QString registrantCountry;
    QString registrantEmail;
    QString domainStatus;
    QString lastQryDate;
};


struct CategoryInfo {
    QString id;
    QString path;
    QString parent_id;
    QString name;
};

struct DbInfo
{
    QString hostName;
    QString port;
    QString dbName;
    QString userName;
    QString password;
    QString dbdesc;
};

#endif // PUBLICSTRUCT_H
